cmake_minimum_required(VERSION 2.4.6)
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)

# Set the build type.  Options are:
#  Coverage       : w/ debug symbols, w/o optimization, w/ code-coverage
#  Debug          : w/ debug symbols, w/o optimization
#  Release        : w/o debug symbols, w/ optimization
#  RelWithDebInfo : w/ debug symbols, w/ optimization
#  MinSizeRel     : w/o debug symbols, w/ optimization, stripped binaries
#set(ROS_BUILD_TYPE RelWithDebInfo)

rosbuild_init()

#set the default path for built executables to the "bin" directory
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
#set the default path for built libraries to the "lib" directory
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)

#uncomment if you have defined messages
#rosbuild_genmsg()
#uncomment if you have defined services
#rosbuild_gensrv()

#common commands for building c++ executables and libraries
#rosbuild_add_library(${PROJECT_NAME} src/example.cpp)
#target_link_libraries(${PROJECT_NAME} another_library)
#rosbuild_add_boost_directories()
#rosbuild_link_boost(${PROJECT_NAME} thread)
#rosbuild_add_executable(example examples/example.cpp)
#target_link_libraries(example ${PROJECT_NAME})

rosbuild_add_library(Aria
  src/Aria/ArActionAvoidFront.cpp
  src/Aria/ArActionAvoidSide.cpp
  src/Aria/ArActionBumpers.cpp
  src/Aria/ArActionColorFollow.cpp
  src/Aria/ArActionConstantVelocity.cpp
  src/Aria/ArAction.cpp
  src/Aria/ArActionDeceleratingLimiter.cpp
  src/Aria/ArActionDesired.cpp
  src/Aria/ArActionDriveDistance.cpp
  src/Aria/ArActionGoto.cpp
  src/Aria/ArActionGotoStraight.cpp
  src/Aria/ArActionGroup.cpp
  src/Aria/ArActionGroups.cpp
  src/Aria/ArActionInput.cpp
  src/Aria/ArActionIRs.cpp
  src/Aria/ArActionJoydrive.cpp
  src/Aria/ArActionKeydrive.cpp
  src/Aria/ArActionLimiterBackwards.cpp
  src/Aria/ArActionLimiterForwards.cpp
  src/Aria/ArActionLimiterTableSensor.cpp
  src/Aria/ArActionMovementParameters.cpp
  src/Aria/ArActionRatioInput.cpp
  src/Aria/ArActionRobotJoydrive.cpp
  src/Aria/ArActionStallRecover.cpp
  src/Aria/ArActionStop.cpp
  src/Aria/ArActionTriangleDriveTo.cpp
  src/Aria/ArActionTurn.cpp
  src/Aria/ArACTS.cpp
  src/Aria/ArAMPTU.cpp
  src/Aria/ArAnalogGyro.cpp
  src/Aria/ArArg.cpp
  src/Aria/ArArgumentBuilder.cpp
  src/Aria/ArArgumentParser.cpp
  src/Aria/ArASyncTask.cpp
  src/Aria/ArBasePacket.cpp
  src/Aria/ArBumpers.cpp
  src/Aria/ArCameraCollection.cpp
  src/Aria/ArCameraCommands.cpp
  src/Aria/ArCondition_LIN.cpp
  src/Aria/ArConfigArg.cpp
  src/Aria/ArConfig.cpp
  src/Aria/ArConfigGroup.cpp
  src/Aria/ArDataLogger.cpp
  src/Aria/ArDeviceConnection.cpp
  src/Aria/ArDPPTU.cpp
  src/Aria/ArFileParser.cpp
  src/Aria/ArForbiddenRangeDevice.cpp
  src/Aria/ArFunctorASyncTask.cpp
  src/Aria/ArGPSConnector.cpp
  src/Aria/ArGPSCoords.cpp
  src/Aria/ArGPS.cpp
  src/Aria/ArGripper.cpp
  src/Aria/Aria.cpp
  src/Aria/ariaUtil.cpp
  src/Aria/ArInterpolation.cpp
  src/Aria/ArIrrfDevice.cpp
  src/Aria/ArIRs.cpp
  src/Aria/ArJoyHandler.cpp
  src/Aria/ArJoyHandler_LIN.cpp
  src/Aria/ArKeyHandler.cpp
  src/Aria/ArLaserConnector.cpp
  src/Aria/ArLaser.cpp
  src/Aria/ArLaserFilter.cpp
  src/Aria/ArLaserLogger.cpp
  src/Aria/ArLaserReflectorDevice.cpp
  src/Aria/ArLineFinder.cpp
  src/Aria/ArLMS1XX.cpp
  src/Aria/ArLMS2xx.cpp
  src/Aria/ArLMS2xxPacket.cpp
  src/Aria/ArLMS2xxPacketReceiver.cpp
  src/Aria/ArLog.cpp
  src/Aria/ArLogFileConnection.cpp
  src/Aria/ArMapComponents.cpp
  src/Aria/ArMap.cpp
  src/Aria/ArMapInterface.cpp
  src/Aria/ArMapObject.cpp
  src/Aria/ArMapUtils.cpp
  src/Aria/ArMD5Calculator.cpp
  src/Aria/ArMode.cpp
  src/Aria/ArModes.cpp
  src/Aria/ArModule.cpp
  src/Aria/ArModuleLoader.cpp
  src/Aria/ArMutex.cpp
  src/Aria/ArMutex_LIN.cpp
  src/Aria/ArNetServer.cpp
  src/Aria/ArNMEAParser.cpp
  src/Aria/ArNovatelGPS.cpp
  src/Aria/ArP2Arm.cpp
  src/Aria/ArPriorityResolver.cpp
  src/Aria/ArPTZ.cpp
  src/Aria/ArRangeBuffer.cpp
  src/Aria/ArRangeDevice.cpp
  src/Aria/ArRangeDeviceThreaded.cpp
  src/Aria/ArRatioInputJoydrive.cpp
  src/Aria/ArRatioInputKeydrive.cpp
  src/Aria/ArRatioInputRobotJoydrive.cpp
  src/Aria/ArRecurrentTask.cpp
  src/Aria/ArRobotConfig.cpp
  src/Aria/ArRobotConfigPacketReader.cpp
  src/Aria/ArRobotConnector.cpp
  src/Aria/ArRobot.cpp
  src/Aria/ArRobotJoyHandler.cpp
  src/Aria/ArRobotPacket.cpp
  src/Aria/ArRobotPacketReceiver.cpp
  src/Aria/ArRobotPacketSender.cpp
  src/Aria/ArRobotParams.cpp
  src/Aria/ArRobotTypes.cpp
  src/Aria/ArRVisionPTZ.cpp
  src/Aria/ArS3Series.cpp
  src/Aria/ArSensorReading.cpp
  src/Aria/ArSerialConnection_LIN.cpp
  src/Aria/ArSick.cpp
  src/Aria/ArSignalHandler_LIN.cpp
  src/Aria/ArSimpleConnector.cpp
  src/Aria/ArSimulatedLaser.cpp
  src/Aria/ArSocket.cpp
  src/Aria/ArSocket_LIN.cpp
  src/Aria/ArSonarAutoDisabler.cpp
  src/Aria/ArSonarDevice.cpp
  src/Aria/ArSonyPTZ.cpp
  src/Aria/ArSoundPlayer.cpp
  src/Aria/ArSoundsQueue.cpp
  src/Aria/ArSpeech.cpp
  src/Aria/ArStringInfoGroup.cpp
  src/Aria/ArSyncLoop.cpp
  src/Aria/ArSyncTask.cpp
  src/Aria/ArSystemStatus.cpp
  src/Aria/ArSZSeries.cpp
  src/Aria/ArTCM2.cpp
  src/Aria/ArTCMCompassDirect.cpp
  src/Aria/ArTCMCompassRobot.cpp
  src/Aria/ArTcpConnection.cpp
  src/Aria/ArThread.cpp
  src/Aria/ArThread_LIN.cpp
  src/Aria/ArTransform.cpp
  src/Aria/ArTrimbleGPS.cpp
  src/Aria/ArUrg_2_0.cpp
  src/Aria/ArUrg.cpp
  src/Aria/ArVCC4.cpp
  src/Aria/ArVersalogicIO.cpp
  src/Aria/md5.cpp
  )

rosbuild_add_executable(LMS5xx_Publisher src/LMS5XX_Publisher.cpp)
target_link_libraries(LMS5xx_Publisher Aria)
